package com.qianfeng1.day7_连接池.jdbc.druid;


import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;
import com.qianfeng1.day7_连接池.jdbc.ConnectionUtil;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 作者：黎杭
 * 日期：2020/2/18
 */
public class Test1 {
    public static void main(String[] args) throws SQLException {
        // 第一步，获取Druid的数据源 DruidDataSource,数据源，也就是连接数据库的源头
        DruidDataSource druidDataSource = new DruidDataSource();

        druidDataSource.setUsername(ConnectionUtil.USER_NAME);// 设置账户名
        druidDataSource.setUrl(ConnectionUtil.URL);// 设置数据库链接地址
        druidDataSource.setPassword(ConnectionUtil.PASSWORD);// 设置数据库连接密码
//        druidDataSource.setDriverClassName();// 设置驱动类的名字：这里要注意，Druid可以根据用户传的数据库地址，自动推算驱动类名称
        druidDataSource.setName("mysql数据源");// 设置数据源的名称，因为在实际开发之中，很多时候可能会有多个数据源，mysql,oracle
        druidDataSource.setMinIdle(1);// 设置最小空闲连接数
        druidDataSource.setMaxActive(5);// 设置最大连接数
        // 此时使用的德鲁伊连接池去访问数据
        DruidPooledConnection connection = druidDataSource.getConnection();// 获取连接对象
        String sql = "select * from user";// 注意：珍惜使用*的sql语句。因为在后面，禁止再出现*，出现*罚款200起
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        ResultSet resultSet = preparedStatement.executeQuery();// 执行查询语句
        while (resultSet.next()) {
            int userId = resultSet.getInt(1);
            String name = resultSet.getString(2);
            int age = resultSet.getInt(3);
            String phone = resultSet.getString(4);
            String pwd = resultSet.getString(5);
            System.err.println(userId);
            System.err.println(name);
            System.err.println(age);
            System.err.println(phone);
            System.err.println(pwd);
        }

    }
}
